#include "UIMainStatusAll.h"
#include <QDebug>

#include "..\..\Visitor\VisitorDisplayName.h"

UIMainStatusAll::UIMainStatusAll(IUIElement* pElement)
    :IUIMainStatus(pElement)
{
    m_emMainStatus = emMainStatus_All;
    m_strName = ("一、简介\r\n"
                 "1.设计模式定义\r\n"
                 "设计模式是一组有用的解决方案，用于解决特定类型的软件设计问题。它们通常提供了一种抽象出来的方式，来表达应用程序中常见问题的解决方案，从而帮助开发者更有效地解决问题。设计模式的用途是帮助开发者解决软件设计问题，提高开发效率，降低开发成本，提高代码质量和可维护性，以及更好地管理和理解复杂的系统。设计模式的优点是可以提高代码可维护性，减少代码重复，提高开发效率，降低开发成本，提高代码质量和可维护性，以及更好地管理和理解复杂的系统。设计模式的缺点是可能会使代码变得复杂，也可能会过度设计。设计模式的出处是由GoF（Gang of Four）在1995年发表的著作“设计模式：可复用面向对象软件的基础”中提出。\r\n"
                 "2.设计模式的历史\r\n"
                 "设计模式可以追溯到1960年代，当时著名的软件工程师和设计师们开始研究如何提高软件开发的效率和可维护性。他们发现，应用一些重复出现的设计模式可以提高软件开发的效率，并极大地改善软件的可读性和可维护性。这些设计模式在1970年代末被称为“永恒的设计模式”，并在1995年由Erich Gamma，Richard Helm, Ralph Johnson和John Vlissides出版。他们的书，称为“设计模式：可复用面向对象软件的基础”，成为设计模式的代表作品，并且引发了关于设计模式的热烈讨论。此外，这本书还为软件开发人员提供了一套可复用的设计模式，以帮助他们更好地理解和实施设计模式\r\n"
                 "\r\n二、设计模式的分类：\r\n"
                 "体来说设计模式分为三大类：\r\n"
                 "创建型设计模式，共五种：工厂方法设计模式、抽象工厂设计模式、单例设计模式、建造者设计模式、原型设计模式。\r\n"
                 "结构型设计模式，共七种：适配器设计模式、装饰器设计模式、代理设计模式、外观设计模式、桥接设计模式、组合设计模式、享元设计模式。\r\n"
                 "行为型设计模式，共十一种：策略设计模式、模板方法设计模式、观察者设计模式、迭代子设计模式、责任链设计模式、命令设计模式、备忘录设计模式、状态设计模式、访问者设计模式、中介者设计模式、解释器设计模式。\r\n");
}

UIMainStatusAll::~UIMainStatusAll()
{

}

void UIMainStatusAll::PreDisplay()
{
    
}

void UIMainStatusAll::Display()
{
    //显示简介;
    VisitorDisplayName visiter(m_strName, "lab_Name");
    if (m_pUIElement)
    {
        m_pUIElement->accept(visiter);
    }
}

void UIMainStatusAll::AfterDisplay()
{

}

//显示运行结果;
void UIMainStatusAll::DisplayRun()
{

}